1. Field of the Invention
The present invention relates to wireless computer networks; in particular, the present invention relates to power saving operations in an ad hoc wireless computer network.
2. Discussion of the Related Art
A wireless network allows a mobile user to maintain network access despite the mobile user's changes in location continuously or from time to time. By necessity, a mobile device operates from battery power and battery power is a scarce resource. Recently, improvements in battery lifetime for a mobile device have not kept up with improvements in computing power and communication capability. Hence, power efficiency is an important design parameter for a wireless computer network.
As compared to power management in an infrastructure network, power management in the link layer of an ad hoc wireless network (e.g., an ad hoc wireless network using the independent basic service set or “IBSS” under 802.11b) is not well understood and is not efficient. For example, in a wireless local area network (WLAN), the access point (“AP”) has global knowledge of the power-saving states of all stations (“STAs”) associated with it. In such a network, all communication with the mobile nodes go through the AP, so that the AP may buffer data packets designating STAs in a power-saving (“PS”) mode. During pre-specified time intervals, the AP notifies these STAs to retrieve the buffered packets. In contrast, however, in an ad hoc wireless network, there is no entity in IBSS similar to AP that has global knowledge of power-saving states of all nodes. Instead, each STA stores packets locally and communicates individually with its peers to schedule packet delivery.
Due to the distributed nature of IBSS, many power-saving issues exist in IBSS under 802.11.
In WLANs operating under 802.11, the distributed coordination function (“DCF”) uses a Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) protocol to determine—in a distributed manner—when a station operating within the wireless network is permitted to transmit and receive frames. Under CSMA/CA, prior to transmission, an STA senses the medium to determine if it is “busy” (i.e., if another STA is transmitting). If the medium is not busy, the STA may transmit. CSMA/CA requires a minimum specified separation in time, called the “interframe space” (IFS), between contiguous frame sequences. The transmitter waits the medium to become idle for at least IFS before transmitting. The value of IFS varies according to the priority of the transmitted frames. Examples of IFS values include: short IFS (SIFS), point IFS (PIFS) and distributed IFS (DIFS).
SIFS is the shortest interframe space and is used when a group of STAs have seized the medium for the duration of the frame exchange sequence to be performed. SIFS ensures completion of the frame exchange sequence before other STAs can access the medium, as the other STAs are required to wait for the medium to become idle for a time period longer than SIFS before attempting to transmit into the medium. Acknowledgment (ACK) frames, for example, use SIFS.
PIFS is used by STAs operating under the point coordination function (PCF) to gain priority access to the medium at the start of a contention-free period. PIFS is longer than SIFS, but shorter than DIFS.
DIFS is used by stations operating under the DCF to transmit data frames and management frames (e.g., probe request and probe responses).
Under DCF, if the medium is found busy, an STA defers transmission until after the current transmission completes. After a deferral, or prior to attempting to transmit again immediately after a successful transmission, a station selects a random “back-off” interval during which it does not transmit. A back-off interval counter keeps track of the interval.
Some example formats of control packets are provided in FIGS. 1 (“probe request frame”), 3 (“probe response frame”), and 4 (“acknowledge (ACK) frame”). A control packet has a format (i.e., “management frame”) generically shown in FIG. 5. As shown in FIG. 5, the format includes a medium access control (MAC) header, a frame body and a frame check sequence (FCS). The FCS allows a determination on the integrity of a transmitted frame. In a 802.11 WLAN, an STA uses the destination address (DA) field in the MAC header of a packet to make receive decisions regarding the packet. For example, the DA field may contain a group address (e.g., a broadcast address) and, if the frame is not a beacon frame, the basic service set identifier (BSSID) must be validated (i.e., the BSSID field of the frame is the same BSSID of the recipient). (The BSSID field can be a broadcast BSSID in a probe request frame.) As another example, an STA, including an access point, may respond with an ACK frame within an SIFS deferral upon receiving a data frame or a management frame that does not specify a group address in the DA field. An ACK frames is not be transmitted for a packet specifying a group address in the DA field.
The state of the medium is determined from the physical and virtual carrier-sense functions. The physical layer provides a physical carrier-sense mechanism based on energy detection in the wireless medium. The MAC layer provides a virtual carrier-sense mechanism, referred to as the network allocation vector (NAV). The NAV predicts future traffic in the medium based on duration information that is announced in the frames prior to the actual exchange of data. With a few exceptions, such duration information is found in the MAC header.
A probe request frame is sent by an STA scanning an area for an existing network. A probe request frame invites the APs in the area to respond with probe response frames. As shown in FIG. 1, a probe request frame includes a service set identifier (SSID) field and the data rates supported by the STA. An AP receiving a probe request frame determines whether to invite the STA to join the network. As shown in FIG. 2, type bits (B2, B3) and subtype bits (B4-B7) of the frame control field identify both the frame type (e.g., “management”) and the subtype (e.g., “probe request”). Table 1 shows the various possible values of the type and subtype bits.
TABLE 1Example of valid type and subtype combinationsSubtypeType ValueTypevalueB3 B2descriptionB7 B6 B5 B4Subtype description00Management0100Probe request00Management0101Probe response00Management1000Beacon00Management1001ATIM00Management1101Action00Management1110-1111Reserved01Control1101Acknowledgement (ACK)
To respond to a probe request frame, an AP sends a probe response frame (FIG. 3) to the scanning STA to inform the availability and the characteristics of the networks. Other frames include, for example, an ACK frame which acknowledges a received data frame, or a beacon frame (which announces the existence of a network).
Sending out beacon frames is an important part of many network maintenance tasks. Beacon frames are typically transmitted at regular intervals to allow mobile STAs to find, identify and match parameters of a network they may join. In a beacon frame, the frame body includes the following fields: (a) timestamp, (b) beacon interval, (c) capability, (d) SSID, (e) IBSS parameter set, and (f) traffic indication map (TIM). The information field within the IBSS parameter field contains an ATIM Window parameter. The IBSS parameter set format is shown in FIG. 14.
In an infrastructure network, APs are responsible for transmitting Beacon frames. The service area of an AP is defined by the reach of its beacon frames. Timing for the BSS is determined by the beacon interval specified in a beacon frame. The time interval between successive transmissions of beacon frames is called the “target beacon transition time” or TBTT.
In an IBSS network, beacon frames are generated in a distributed manner. The beacon interval is included in both beacon frames and probe response frames. The STAs adopt the beacon interval at the time each STA join the ad hoc network. In an IBSS network, all members participate in beacon generation. Each STA maintains a timing synchronization function (TSF) timer for beacon interval timing. As an IBSS network does not have access points, when an STA has buffered frames for a receiver that is in a low-power mode, the STA sends an announcement traffic indication message (ATIM) frame during the ATIM window to notify the recipient that it has buffered data for the recipient. The ATIM frame has a null frame body.
FIG. 15 shows the process of beacon frame generation in an IBSS. At each TBTT, each station (a) waits for the packet currently transmitting in the channel to complete, (b) suspends the back-off timer for any pending non-beacon or non-ATIM transmission, and (c) calculates a random delay that is uniformly distributed in the range between zero and 2*CWmin*TU, where CWmin is the size of the minimum contention window and TU is the timing unit. The STA then sets a timer using this random delay and wait for this timer to expire. If a beacon frame arrives before the random delay timer expires, the wait is canceled, and the backoff timer is resumed. However, if the random delay timer expires without the STA receiving a beacon frame, the STA sends out a beacon frame. ATIM messages are transmitted following the beacon frame from source stations to destination stations using the same distributed coordination function (DCF) algorithm as ordinary data packets. The length of the ATIM window is fixed and always starts from the theoretical TBTT time, whether or not there is packet transmission during the beacon interval.
The timestamp field in the beacon frame represents the value in the TSF timer at the frame's source. A station joining an IBSS network initializes its TSF timer to 0 and refrains from transmitting a beacon frame or a probe response frame until after it receives a beacon frame or a probe response frame from another member of the IBSS with a matching SSID to ensure proper synchronization within the IBSS network.
In an IBSS network, an STA may be in an “awake” state, in which the STA is fully powered, or in a “doze” state, in which the STA consumes little power and is unable to transmit or receive. The term “power management” for an STA refers to the manner in which an STA transits between awake and doze states.
In an infrastructure network, an STA changing its power management mode to a doze or PS state informs the AP using the power management bits within the frame control field of the transmitted frames. Thereafter, the AP does not arbitrarily transmit MAC service data units (MSDUs) to the STA. The MSDUs are buffered and transmitted at designated times. The STAs associated with an AP that has buffered MSDUs for the STAs are identified in a TIM that is included in all beacon frames generated by the AP. By interpreting the TIM, an STA is made aware that an MSDU is buffered for it. An STA operating in PS modes periodically listens for beacon frames, according to its listen interval and receive delivery traffic indication message (DTIM) parameters. Upon learning that an MSDU is currently buffered in the AP, the STA transmits a short PS-poll frame to the AP, which responds with the corresponding buffered MSDU immediately, or acknowledges the PS-Poll and responds with the corresponding MSDU at a later time. If an STA in its BSS is in PS mode, the AP buffers all broadcast and multicast MSDUs and delivers them to the STA immediately following the next beacon frame containing a DTIM transmission.
FIG. 16 shows the basic operations of power management in an IBSS. As shown in FIG. 16, after each TBTT, an ATIM window is defined. During the ATIM window, STAs operating in PS mode are awake to listen to beacon frames or ATIM frames. To transmit an MSDU to a recipient STA in a PS mode, the transmitting STA first transmits an ATIM frame during the ATIM window. ATIM transmissions from different STAs are randomized using the common DCF backoff procedure. Directed ATIMs are acknowledged. If a ACK frame is not received in response to a directed ATIM, the transmitting STA executes the back-off procedure to attempt a retransmission. Multicast ATIMs are not acknowledged. After the ATIM interval, the acknowledged MSDUs and the announced broadcast/multicast MSDUs are transmitted to STAs in the PS mode, using normal DCF access procedures. If an STA is unable to transmit a buffered MSDU during the beacon interval in which the MSDU is announced, the STA retains the buffered MSDU and announces it again in an ATIM during the next ATIM window. After all buffered MSDUs are transmitted, MSDUs are transmitted unannounced to STAs that are in the awake state.
An STA operating in PS mode enters the awake state prior to each TBTT. If the STA receives an ATIM management frame directed to it, or a multicast ATIM management frame during the ATIM Window, the STA remains in the awake state until the end of the next ATIM window. An STA that has transmitted a beacon frame or an ATIM management frame will remain in the awake state until the end of the next ATIM window, regardless of whether or not an acknowledgement is received for the ATIM. If the STA has not transmitted an ATIM and does not receive either an ATIM management frame directed to it, or a multicast ATIM management frame during the ATIM window, the STA may return to the Doze state following the end of the current ATIM window.
Beacon generation and power management are related activities. Beacon frames are transmitted during the awake periods of STAs operating in PS mode, such that all STAs may process the beacon frames. Furthermore, the source of a beacon frame does not enter the PS state until the end of the next active period, so as to ensure that at least one STA is awake to respond to probe request frames from new STAs scanning for a network.
Thus, the current standard requires that an STA transmitting a beacon frame in an IBSS network to remain awake until the end of the next ATIM window to ensure that any probe request sent by an STA scanning for a network is answered. The STA is kept awake regardless of whether or not the STA has packets to send or receive. Significant power is therefore dissipated by the STA. By keeping STAs sending ATIM/ACK awaken within the entire beacon interval, the standard enables an STA to derive the power management states of other STAs even without direct ATIM/ACK exchanges. For example, upon receiving a multicast/broadcast frame, the receiver infers that the sender is awake throughout the entire beacon interval. A receiver of a unicast ATIM frame can make the same inference, even though, in the event that the ACK frame is lost, the sender may not infer the power management state of the receiver. With this extra information, an STA can send frames to those STAs that it infers to be in an awake mode.
There is, therefore, a need for improved power-savings in active stations by allowing the active stations to enter a doze mode promptly after finishing packet transmission and reception, while maintaining the ability by STAs to make inference of the power management states of other STAs and ensuring that an STA entering a doze mode does not impair ommunications between the STA and its neighbors.